import { Module } from '@nestjs/common';
import { JwtModule } from '@nestjs/jwt';
import { AppController } from './app.controller';
import { AppService } from './app.service';

@Module({
  imports: [
    
    //https://juejin.cn/book/7226988578700525605/section/7233227268666392634

    //动态模块+异步方式(更加灵活,参数改变不用每个地方都去修改，且可以异步方式先提取配置信息)
    JwtModule.registerAsync({
      //工厂函数，返回一个promise,包括return里的数据
      async useFactory() {
        await 111;
        return {
          secret: 'newking', //签名密钥
          signOptions: {
            expiresIn: '7d'  //过期时间
          }
        }
      }
    })


    //复习,动态模块的三种方案
    // register
    // forRoot
    // forFeature

  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}
